In communication networks, such as computer networks or other data communication networks, accurate timing is often required, for example to facilitate event synchronization and data correlation. Typically, the nodes in the network include an internal clock which provides a local time-base. In theory, if two internal clocks are initially set to a common time-base and their frequency sources are running at exactly the same rate, they would remain synchronized. In practice, however, clocks are set with limited precision, frequency sources run at different rates due to initial manufacturing tolerance, changes in temperature or pressure, and aging. Because of these inherent instabilities, a repeated synchronization may be used to maintain a correspondence between the local time-bases of the nodes in the network.
To set the nodes in the network to a common time-base, so called ‘master-slave synchronisation’ is known. In a master-slave synchronisation system, the nodes are connected to a common source. The common source provides a common time-base to the nodes, and hence operates as a master, whereas the nodes set their internal time-base to the received common time-base and hence act as slaves. However, a disadvantage of such a synchronisation is that in case the common source fails, the nodes will not be synchronised.
For example, International Patent Application WO 2005/119951 discloses a method for establishing a global time base in a timed communications system comprising several subscribers. One of the subscribers of the communications system is defined as the time master, with which the remaining subscribers are synchronised. One or more additional subscribers are defined as a substitute time master. Firstly, an attempt is made to synchronise all subscribers of the communications system with the primary time master. If the attempt fails, a next respective substitute time master in a predetermined sequence is selected and an attempt is made to synchronise all subscribers of the communications system with the selected substitute time master. However, a disadvantage of this master system is that while the synchronisation to the primary time master or the substitute time master may succeed, an error in the time base provided by the master will cause a malfunction of the timing in the network.
United States Patent Application Publication US 2005/005469 discloses a network with a master-slave configuration. Timers of a plurality of slave units are synchronized with a timer of the master unit. The network includes a middle hierarchical plane of units which act as slaves for the master unit, and are hence synchronised to the master unit, and as masters for the slave units. The slaves units are synchronised to the timer of a respective unit in this middle hierarchical plane to which they are connected, and hence indirectly to the master unit. However, a disadvantage of the system disclosed in this document is that in case the master unit fails, the entire timing in the network fails.
ERIKSON C ET AL: “A communication protocol for hard and soft real-time systems”, REAL-TIME SYSTEMS, 1996, PROCEEDINGS OF THE EIGHTH EUROMICRO WORKSHOP ON L'AQUILA, ITALY 12-14 Jun. 1996, LOS ALAMITOS, Calif., USA, IEEE COMPUT. SOC, US, 12 Jun. 1996, pages 187-192, discloses a data communication system with a rotating master unit, that is during a first period of time a first unit acts as a master for the nodes in the system and during a second period of time succeeding the first period of time, a second acts as a master for the nodes in the system. However, a disadvantage of the system disclosed in this document is that in case the unit acting as master for the respective period of time fails, the entire timing in the network fails.
Accordingly, a common disadvantage of the prior art systems described above is that in case the master unit fails, the nodes will not be synchronised.
As an alternative to the master-slave synchronisation, so called ‘distributed synchronisation’ is known, for example from U.S. Pat. No. 5,694,542. In a network with distributed synchronisation, the nodes exchange timing information. Each node determines a time-base from the timing information received from the other nodes and adjusts its internal clock to the determined time-base. However, distributed synchronisation requires complex algorithms to determine the time-base. Furthermore, each node requires a synchronisation unit which can determine the time-base. Accordingly, a disadvantage of distributed synchronisation is that it is complex and requires a large amount of resources.